/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.epsgrau.helper;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.epsgrau.TO.ActividadDetalleTO;
import org.epsgrau.TO.EstadoProcesalTO;
import org.epsgrau.TO.ProcesoTO;
import org.epsgrau.entity.Actividad;
import org.epsgrau.entity.ActividadDetalle;
import org.epsgrau.entity.EstadoProcesal;
import org.epsgrau.entity.EstadoProceso;
import org.epsgrau.entity.Juzgado;
import org.epsgrau.entity.MateriaProceso;
import org.epsgrau.entity.Proceso;
import org.epsgrau.entity.RamaProceso;
import org.epsgrau.entity.Responsable;
import org.epsgrau.entity.TipoProceso;

/**
 *
 * @author Miguel
 */
public class Conversiones {
    
     public static Proceso convertirToaEntity(ProcesoTO to)throws ParseException{
            
        Proceso proceso = new Proceso();
        proceso.setIdProceso(to.getIdproceso());
        proceso.setNroExpediente(to.getNroexpediente());
        RamaProceso rama=new RamaProceso(to.getIdrama());
        proceso.setIdRamaproceso(rama);
        TipoProceso tipo=new TipoProceso(to.getIdtipoproceso());
        proceso.setIdTipoproceso(tipo);
        MateriaProceso materia=new MateriaProceso(to.getIdmateria());
        proceso.setIdMateriaproceso(materia);
        Responsable responsable=new Responsable(to.getIdresponsable());
        proceso.setIdResponsable(responsable);
        proceso.setDemandante(to.getDemandante());
        proceso.setDemandado(to.getDemandado());
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        Date fechademanda = df.parse(to.getFechademanda());
        proceso.setFechaDemanda(fechademanda);
//        Date fechafinalizacion = df.parse(to.getFechafinalizacion());
//        proceso.setFechaDemanda(fechafinalizacion);
        proceso.setMontoDemandado(to.getMontodemandado());
//        proceso.setMontoAcordado(to.getMontoacordado());
        proceso.setObservacion(to.getObs());  
        return proceso;
    }
     
    public static ProcesoTO convertirEntityaTo(Proceso entity)throws ParseException{
        ProcesoTO to = new ProcesoTO();
        to.setIdproceso(entity.getIdProceso());
        to.setNroexpediente(entity.getNroExpediente());
        to.setIdrama(entity.getIdRamaproceso().getIdRamaproceso());
        to.setIdtipoproceso(entity.getIdTipoproceso().getIdTipoproceso());
        to.setIdmateria(entity.getIdMateriaproceso().getIdMateriaproceso());
        to.setIdresponsable(entity.getIdResponsable().getIdResponsable());
        to.setDemandante(entity.getDemandante());
        to.setDemandado(entity.getDemandado());
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        to.setFechademanda(df.format(entity.getFechaDemanda()));
//        to.setFechafinalizacion(df.format(entity.getFechaFinalizacion()));
        to.setMontodemandado(entity.getMontoDemandado());
//        to.setMontoacordado(entity.getMontoAcordado());
        to.setObs(entity.getObservacion());
        return to;
    }   
    
    public static ActividadDetalle convertirToaEntity(ActividadDetalleTO to)throws ParseException{
        ActividadDetalle actividadDetalle = new ActividadDetalle();
        actividadDetalle.setIdActividaddetalle(to.getIdactividaddetalle());
        actividadDetalle.setDuracion(to.getDuracion());
        actividadDetalle.setObservacion(to.getObservacion());
        Date fecha;
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        try{
        fecha = df.parse(to.getFechalimite());
        actividadDetalle.setFechaLimite(fecha);
        df.parse(to.getFechanotificacion());
        actividadDetalle.setFechaNotificacion(fecha);
        df.parse(to.getFecharealizacion());
        actividadDetalle.setFechaRealizacion(fecha);
        df.parse(to.getFechalimite());
        actividadDetalle.setFechaRegistro(fecha);
        }catch(Exception e){
            fecha=null;
            e.printStackTrace();
        }
        
        Actividad a = new Actividad(to.getIdactividad());
        actividadDetalle.setIdActividad(a);
        Proceso p = new Proceso(to.getIdproceso());
        actividadDetalle.setIdProceso(p);
        return actividadDetalle;
    }
        
    public static ActividadDetalleTO convertirEntityaTo(ActividadDetalle entity)throws ParseException{
        ActividadDetalleTO to = new ActividadDetalleTO();
        to.setIdactividaddetalle(entity.getIdActividaddetalle());
        to.setObservacion(entity.getObservacion());
        to.setDuracion(entity.getDuracion());
        SimpleDateFormat df;
        try{
        df = new SimpleDateFormat("dd/MM/yyyy");
        to.setFechalimite(df.format(entity.getFechaLimite()));
        to.setFechanotificacion(df.format(entity.getFechaNotificacion()));
        to.setFecharealizacion(df.format(entity.getFechaRealizacion()));
        to.setFecharegistro(df.format(entity.getFechaRegistro()));
        }catch(Exception e){
        df=new SimpleDateFormat("");
        e.printStackTrace();
        }
        to.setIdactividad(entity.getIdActividad().getIdActividad());
        to.setIdproceso(entity.getIdProceso().getIdProceso());
        
        return to;
    }
    
    
    
      public static EstadoProcesal convertirToaEntity(EstadoProcesalTO to)throws ParseException{
        
        EstadoProcesal estadoProcesal = new EstadoProcesal();
        estadoProcesal.setIdEstadoprocesal(to.getIdestadoprocesal());
        estadoProcesal.setNumDocumento(to.getNumdocumento());
        estadoProcesal.setObservacion(to.getObservacion());
        Date fecha;
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        
        try{
            
            fecha = df.parse(to.getFechainicioestado());
            estadoProcesal.setFechaInicioEstado(fecha);

            df.parse(to.getFecharegistro());
            estadoProcesal.setFechaRegistro(fecha);
        
        }catch(Exception e){
            fecha=null;
            e.printStackTrace();
        }
        
        EstadoProceso ep=new EstadoProceso(to.getIdestadoproceso());
        estadoProcesal.setIdEstadoproceso(ep);
        
        Juzgado j=new Juzgado(to.getIdjuzgado());
        estadoProcesal.setIdJuzgado(j.getIdJuzgado());
        
        Proceso p = new Proceso(to.getIdproceso());
        estadoProcesal.setIdProceso(p);
        return estadoProcesal;
    }
        
    public static EstadoProcesalTO convertirEntityaTo(EstadoProcesal entity)throws ParseException{
        
        EstadoProcesalTO to = new EstadoProcesalTO();
        to.setIdestadoprocesal(entity.getIdEstadoprocesal());
        to.setNumdocumento(entity.getNumDocumento());
        to.setObservacion(entity.getObservacion());
     
        SimpleDateFormat df;
        try{
            
            df = new SimpleDateFormat("dd/MM/yyyy");
            to.setFechainicioestado(df.format(entity.getFechaInicioEstado()));
            to.setFecharegistro(df.format(entity.getFechaRegistro()));
            
        }catch(Exception e){
            df=new SimpleDateFormat("");
            e.printStackTrace();
        }
        
        to.setIdproceso(entity.getIdProceso().getIdProceso());
        to.setIdjuzgado(entity.getIdJuzgado());
        to.setIdestadoproceso(entity.getIdEstadoproceso().getIdEstadoproceso());
        
        return to;
    }
    
}
